/**  
* @author renbangjie renbangjie@126.com  
* @date 2015-1-18 下午1:09:39
* @version V1.0  
* <b>Copyright (c)</b> 2014医信金融信息服务（上海）有限公司-版权所有<br/>
*/
package com.yjd.comm.activity.service;

import java.util.Map;

import com.yjd.comm.activity.model.TaskModel;
import com.yjd.comm.enums.VoucherEnums.RechargeStatus;

/**
 * 活动基类
 * @author renbangjie renbangjie@126.com
 * @date 2015-1-18 下午1:09:39
 */
public interface IBaseActivityService extends ITaskService {

	/**
	 * 生成用户任务（使用充值券充值的方式生成）
	* @param idUser 用户
	* @param idVoucher 代金券id
	* @return RechargeStatus 充值状态
	 * @throws Exception 
	 */
	public RechargeStatus addUserTask(Long idUser, Long idVoucher) throws Exception;
	
	/**
	 * 领取奖励
	* @param idTaskUser 用户任务id
	* void
	 * @throws Exception 
	 */
	public void receive(Long idTaskUser) throws Exception;
	
	
	/**
	 * 生成任务列表
	* @param idUser
	* @return Map<String,Object>
	 * @throws Exception 
	 */
	public Map<String, Object> getUserTaskMap(Long idUser) throws Exception;
	
	/**
	 * 是否有参加某个活动的资格
	* @param idUser 用户
	* @param idEvent 活动编号
	* @return TaskModel
	* @throws Exception
	 */
	public TaskModel matching(Long idUser, Long idEvent) throws Exception;
	
}
